﻿/***************************************************************************
 创建者: 华磊
 开始时间: 2019.9.20
 copyright: (C) 华友高科
 修改说明: (每次有修改就添加一条，带有 修改人，修改时间，修改描述)
 example (1) 姓名 2019.9.20 类的具体实现代码编写

 ***************************************************************************
 *  @file x.h
 *  功能:
 *
 *
 ***************************************************************************/
#ifndef DOCKMAPTREE_H
#define DOCKMAPTREE_H

#include <QDockWidget>
#include "onemap.h"
#include "maptreemodel.h"
#include <QTreeView>
#include <QMenu>

class DockMapTree : public QDockWidget
{
    Q_OBJECT
public:
    explicit DockMapTree(OneMap *_onemap,QWidget *parent = nullptr);

signals:
    void sig_addFloor(MapFloor *floor);
    void sig_addRootPath();

    void sig_chooseSpirit(MapSpirit *spirit);
    void setchooseSpirit_signal(MapSpirit *spirit);
public slots:
    void ShowContextMenu(const QPoint&pos);

    void slot_selectChanged(QModelIndex index);

    void slot_addFloor();
    void addFloor_ratio(double mapRatio);

    void slot_addRootPath();

    void slot_add_root_path(MapPoint *from,MapPoint *to);

    void refresh();

    void slot_chooseChanged(MapSpirit *spirit);
private:
    void initUi();
    OneMap *onemap;
    QTreeView *view;
    MapTreeModel *model;

    QAction *addFloor;
    QAction *addPathToRoot;

    QMenu* rootRighMenu;
};

#endif // DOCKMAPTREE_H
